﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Medianamik.Core.Caching;
using Medianamik.Core.Interfaces;

namespace Medianamik.Core.Querying
{
    public interface IQuery
    {
        IEnumerable<Node> Execute();
        int Count();
        INodeCacheProvider CacheProvider{get;}
        IQueryDefinition Definition{get;}
        IQuery<T> AsQuery<T>() where T : INodeWrapper, new();  
    }

    public interface IQuery<T> : IQuery where T : INodeWrapper, new()  
    {

    }
}
